def longest_nice_substring(s):
  """
  使用分治法寻找字符串 s 中最长的美好子字符串。
  """
  n = len(s)
  if n < 2:  # 长度小于 2，不可能有美好子字符串
    return ""

  chars = set(s)
  for i, char in enumerate(s):
    if char.swapcase() not in chars:  # 如果当前字符的大小写形式不在字符串中
      # 分别处理左右两部分
      left = longest_nice_substring(s[:i])
      right = longest_nice_substring(s[i+1:])

      # 返回左右两部分中最长的美好子字符串
      return left if len(left) >= len(right) else right

  # 如果所有字符的大小写形式都在字符串中，那么整个字符串就是美好的
  return s